iT邦幫忙

2022 iThome 鐵人賽

DAY 16
0
Software Development

新手村的練功筆記系列 第 16

Day 16 SQL語法 - DISTINCT, ORDER BY, LIMIT & OFFSET

  • 分享至 

  • xImage
  •  

今天繼續來介紹好用的語法幫助我們排序與移除重複的資料
若想要移除重複的資料可以使用 DISTINCT 這個語法

想要將資料排序的話可以使用 ORDER BY 來排序

另外,我們可以用LIMIT和OFFSET來做到類似分頁的效果
例如

LIMIT 3 OFFSET 3

這個LIMIT和OFFSET分別代表什麼意思呢?

LIMIT 3 表示一次限制只撈出3筆資料
OFFSET 3 表示要偏移多少再開始撈資料
例如我們第一頁已經撈出3筆資料了,第二頁應該要從第4筆資料開始顯示
因此,我們需要偏移3筆資料 從第4筆資料開始再撈出3筆資料
所以如果想要做到分頁效果
我們的語法會向下方這樣

LIMIT 3            //第一頁
LIMIT 3 OFFSET 3   //第二頁
LIMIT 3 OFFSET 6   // 第三頁

備註:通常為了撈出資料的正確性,我們可以先使用ORDER BY排序後再撈出資料

接下來讓我們實際練習來看看怎麼運用吧~
第一題
我們要我們要撈出不重複的director名字並且順序排列
因此我們會使用到以下的概念
DISTINCT
ORDER BY ASC

第二題

要先排序(由新到舊),取出前4筆資料
因此會用到以下的概念
ORDER BY DSEC
LIMIT

接著是第三題
要我們依照順序排列取出前五筆電影的名稱
因此會用到以下的語法
ORDER BY ASC
LIMIT

最後一題
稍微有點難度囉
但是仔細想想還是可以完成的
這個題目我們將會用到以下的觀念
使用ORDER BY ASC順序排列
使用LIMIT 5 OFFSET 5來限制每筆資料只撈出5筆,並且需要偏移5筆資料再開始撈(即從第6筆資料開始)

完成了,今天我們練習了

  • 資料不重複 DISTINCT
  • 資料排序 ORDER BY ASC/DSEC
  • 限制資料筆數 LIMIT 5
  • 限制資料筆數和偏移量 LIMIT 5 OFFSET 5

剩下的我們明天繼續囉


上一篇
Day 15 SQL語法 - WHERE組合技之善用運算子
下一篇
Day 17 SQL 語法複習與應用
系列文
新手村的練功筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言